/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.utility;

import com.system.Constants;

/**
 *
 * @author Administrator
 */
public class Utility {

    /**
     * <p> <b>Hàm tính toán và trả về kết quả cho từng thành phần</b>
     * @param thanhphan
     * @param value
     * @return thanhphan
     *         trả về kết quả cho các thành phần      
     */
    public static double resultThanhPhan(int[] thanhphan, int value) {
        double result, result_ = 0;
        double d1, d2;

        if ((thanhphan[0] <= value)
                && (value < thanhphan[1])) {
            d1 = thanhphan[0] - value;
            d2 = thanhphan[0] - thanhphan[1];
            result = d1 / d2;
        } else if ((thanhphan[1] <= value)
                && (value < thanhphan[2])) {
            result = 1;
        } else {
            d1 = thanhphan[3] - value;
            d2 = thanhphan[3] - thanhphan[2];
            result = d1 / d2;
        }

        //Xet các trường hợp > 0
        if (result > 0) {
            result_ = result;
        }

        return result_;

    }

    /**
     * <p> <b>Hàm tính toán và trả về kết quả cho từng thành phần</b>
     * @param thanhphan
     * @param value
     * @return thanhphan
     *         trả về kết quả cho các thành phần      
     */
    public static double resultThanhPhan(double[] thanhphan, double value) {
        double result, result_ = 0;
        double d1, d2;

        if ((thanhphan[0] <= value)
                && (value < thanhphan[1])) {
            d1 = thanhphan[0] - value;
            d2 = thanhphan[0] - thanhphan[1];
            result = d1 / d2;
        } else if ((thanhphan[1] <= value)
                && (value < thanhphan[2])) {
            result = 1;
        } else {
            d1 = thanhphan[3] - value;
            d2 = thanhphan[3] - thanhphan[2];
            result = d1 / d2;
        }

        //Xet các trường hợp > 0
        if (result > 0) {
            result_ = result;
        }

        return result_;

    }

    /**
     * Công thức tính AO
     * @param A1
     * @param A2
     * @param A3
     * @param A4
     * @param A5
     * @return AO
     */
    public static double resultAO(double A1, double A2, double A3, double A4, double A5) {
        double result;

        result = (Constants.TB_A1 * A1 + Constants.TB_A2 * A2 + Constants.TB_A3 * A3 + Constants.TB_A4 * A4 + Constants.TB_A5 * A5) / (A1 + A2 + A3 + A4 + A5);

        return result;
    }

    /**
     * check string is number
     * @param text1
     * @param text2
     * @return boolean
     */
    public static boolean checkInt(String text1, String text2) {

        try {
            Integer.parseInt(text1);
            Integer.parseInt(text2);
            return true;
        } catch (Exception ex) {
            return false;
        }

    }

    /**
     * Check max huyết ap & nhịp tim
     * @param text1
     * @param text2
     * @return boolean
     */
    public static boolean CheckMax(String text1, String text2) {
        int hap = Integer.parseInt(text1);
        int nhiptim = Integer.parseInt(text2);

        if ((hap < 80 || hap > 190) || (nhiptim < 50 || nhiptim > 120)) {
            return false;
        } else {
            return true;
        }
    }

    /**
     * set Min cho huyết áp và nhịp tim để tìm giá trị min
     * @param hap
     * @param ntim
     * @return result
     */
    public static double setMin(double hap, double ntim) {

        double result;

        if (hap > ntim) {
            result = ntim;
        } else {
            result = hap;
        }
        return result;
    }
}